package com.j180.service.service.impl;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.j180.bean.PageBean;
import com.j180.bean.Service;
import com.j180.dao.service.IServiceDao;
import com.j180.service.service.IService;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;

import java.util.List;

@org.springframework.stereotype.Service
public class IServiceImpl implements IService {
    @Autowired
    private IServiceDao iServiceDao;

    /**
     * 管理员通过门店id查询服务信息
     *
     * @param id Integer类型，供货商id
     * @return Service类型，
     */

    @Override
    public PageBean<Service> showServices(int id,int curPage,int pageSize) {
        PageBean<Service> pageBean = new PageBean<>();

        PageHelper.startPage(curPage,pageSize);
        List<Service> serviceList = iServiceDao.listByStId(id);
        PageInfo<Service> pageInfo = new PageInfo<>(serviceList);
        //封装自己的分页对象
        pageBean.setCurrentPage(curPage);
        pageBean.setPageSize(pageSize);
        pageBean.setTolNum((int) pageInfo.getTotal());
        pageBean.setTolPage(pageInfo.getPages());
        pageBean.setDatas(pageInfo.getList());
        return pageBean;
    }

    /**
     * 管理员通过门店id,某个服务id查询服务信息
     *
     * @param id Integer类型，供货商id
     * @return Service类型，
     */
   @Override
    public Service showStoreServiceById(@Param("id") int id, @Param("serviceId") int storeId) {
        return iServiceDao.getStoreServicesById(id, storeId);
   }

    /**
     * 管理员添加一个服务信息
     *
     * @param service Service类型，服务信息
     * @return int类型，1表示添加成功
     */
    @Override
    public Integer addService(Service service) {
        return iServiceDao.insertService(service);
    }

    /**
     * 管理员根据删除一个服务信息
     *
     * @param id Integer类型，供货商id
     * @return int类型，1表示删除成功
     */
    @Override
    public Integer deleteService(@Param("id") int id) {
        return iServiceDao.deleteService(id);
    }

    /**
     * 管理员修改一个服务信息
     *
     * @param service Supplier类型，供货商
     * @return int类型，1表示修改成功
     */
    @Override
    public Integer updateService(Service service) {
        return iServiceDao.updateService(service);
    }


}
